((fully detailed))